package br.unisul.prolinear.view;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import javax.faces.event.ComponentSystemEvent;

import br.unisul.prolinear.controller.CadastroController;
import br.unisul.prolinear.model.Usuario;
import br.unisul.prolinear.utils.Util;

@ManagedBean
@ViewScoped
public class CadastroBean extends Bean implements Serializable{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Usuario novo;
	private String confirmaSenha;
	private String senha;
	private CadastroController controller;
	private boolean atualizando;
	
	public CadastroBean() {
		controller = new CadastroController();
		carregaDados();
		setAtualizando(false);
	}

	private void carregaDados(){
		String update = Util.getParametro("update");
		novo = controller.getNovoUsuario(Util.getParametro("id"),update != null && update.equals("true"));
		setAtualizando(novo.getId() != null);
	}

	public void inicializa(ComponentSystemEvent actionEvent){
		carregaDados();
	}


	public void gravaAluno(ActionEvent actionEvent){	
		controller.gravaAluno(novo, senha, confirmaSenha);
	}

	public Usuario getUsuario() {
		return novo;
	}


	public void setUsuario(Usuario usuario) {
		this.novo = usuario;
	}


	public String getSenha() {
		return senha;
	}


	public void setSenha(String senha) {
		this.senha = senha;
	}

	public String getConfirmaSenha() {
		return confirmaSenha;
	}

	public void setConfirmaSenha(String confirmaSenha) {
		this.confirmaSenha = confirmaSenha;
	}

	public boolean isAtualizando() {
		return atualizando;
	}

	public void setAtualizando(boolean atualizando) {
		this.atualizando = atualizando;
	}
	
	
}
